package com.punch.oauth.service;

import com.punch.common.model.Result;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * ValidateCodeService-
 *
 * @author wujj
 * @version 1.0.0
 * @since 2020/7/31 9:40
 */
public interface ValidateCodeService {

    /**
     * 发送验证码
     * <p>
     * 1. 先去redis 查询是否 60S内已经发送
     * 2. 未发送： 判断手机号是否存 ? false :产生4位数字  手机号-验证码
     * 3. 发往消息中心-》发送信息
     * 4. 保存redis
     *
     * @param mobile 手机号
     * @return true、false
     */
    Result<Boolean> sendSmsCode(String mobile, HttpServletRequest request);

    /**
     * 微信验证token是否为空
     *
     * @param authorizationToken token
     * @return true/false
     */
    Result<Boolean> wxCheckToken(String authorizationToken);

    /**
     * 生成验证码
     *
     * @return string
     * @author wujj
     * @since 2020/6/5 18:35
     */
    void captchaCode(HttpServletRequest request, HttpServletResponse response);
}
